package com.tetris;

import android.graphics.Color;

// 常量
class Const {
    // 格
    public static int GRID_SIZE = 0;                                            // 尺寸（需要根据屏幕尺寸计算出来）

    // 方块
    public static final int BLOCK_GRID_COUNT_H = 4;                             // 一个方块由
    public static final int BLOCK_GRID_COUNT_V = 4;                             // 4*4 的格组成

    // 游戏区域
    public static final int GAME_BOARD_GRID_COUNT_H = 10;                       // 横向格数
    public static final int GAME_BOARD_GRID_COUNT_V = 20;                       // 纵向格数
    public static final int GAME_BOARD_COLOR = Color.WHITE;                     // 背景色

    // 预览区域
    public static final int PREVIEW_GRID_COUNT_H = 5;                           // 横向格数
    public static final int PREVIEW_GRID_COUNT_V = 5;                           // 纵向格数
    public static final int PREVIEW_COLOR = Color.WHITE;                        // 背景色

    // 定时器
    public static final long TIMER_INIT = 1000;                                 // 初始间隔值，单位毫秒
    public static final long TIMER_GROW = 100;                                  // 增长间隔值，单位毫秒，难度每增加1级，间隔值减少此数

    // 难度
    public static final int DIFF_BASE = 5000;                                   // 基数。分数每达到此数的整数倍时，难度增加
    public static final int DIFF_MAX = 10;                                      // 最大值。难度达到此数后不再增加

    // 胜利数
    public static final int WIN_NUMBER = DIFF_BASE * DIFF_MAX;                  // 达到此数胜利

    // 事件
    public static final int UM_DIFFICULTY_UP = 1;                               // 难度增加事件
    public static final int UM_GAME_OVER = 2;                                   // 游戏结束事件
    public static final int UM_SCORE = 3;                                       // 得分事件
    public static final int UM_TIMER = 4;                                       // 定时器事件

    // 画图片控件的边框(PictureCtrl.drawEdge 方法)用到的颜色
    public static final int COLOR_LEFT_TOP_1 = Color.rgb(214, 211, 206);        // 左上外层颜色
    public static final int COLOR_LEFT_TOP_2 = Color.WHITE;                     // 左上内层颜色
    public static final int COLOR_RIGHT_BOTTOM_1 = Color.rgb(66, 65, 66);       // 右下内层颜色
    public static final int COLOR_RIGHT_BOTTOM_2 = Color.rgb(132, 130, 132);    // 右下外层颜色

    // 其它
    public static final int PADDING_LEFT = 1;                                   // 左边界格数
    public static final int PADDING_MIDDLE = 1;                                 // 中间（游戏区域和预览区域之间）格数
    public static final int PADDING_RIGHT = 1;                                  // 右边界格数
}
